<?php
/**
 * Project 模型类
 * 
 */

class Project_model extends CI_Model {
    
    public function __construct()
    {
         $this->load->database();
    }

    // 创建项目
    public function create($proname, $starttime)
    {
        $data = array(
            'proname'=>$proname,
            'starttime'=>$starttime
        );

        $this->db->insert('project', $data);

        if ($this->db->affected_rows() > 0)
        {
             return TRUE;
        }

        return FALSE;
    }

    // 获取表中的记录总数
    public function record_count($keyword='')
    {
        // 如果是搜索则获取符合条件的记录数
        if($keyword != '')
        {
            $this->db->where('proname', $keyword);
            $this->db->from('project');
            return $this->db->count_all_results();
        }
        else
        {
            return $this->db->count_all('project');
        }
        
    }

    // 获取多个项目(指定页码)
    public function get_all($limit, $page, $keyword='')
    {
        // 搜索条件
        if($keyword != '')
        {
            $this->db->where('proname', $keyword);
        }

        $this->db->order_by('id', 'desc');
        $query = $this->db->get("project", $limit, ($page-1)*$limit);
        
        if ($query->num_rows() > 0)
        {
            return $query->result_array();
        }

        return array();
    }

    // 获取单个项目
    public function get_one($proid)
    {
        $query = $this->db->get_where('project', array('id'=>$proid));
        return $query->row_array();
    }

    // 编辑项目
    public function edit($proname, $starttime, $pid)
    {
        $data = array(
            'proname'=>$proname,
            'starttime'=>$starttime
        );

        $this->db->where('id', $pid);
        $this->db->update('project', $data);

        return TRUE;
    }

    // 删除项目
    public function delete($pid)
    {
        $this->db->delete('project', array('id'=>$pid));

        if ($this->db->affected_rows() > 0)
        {
             return TRUE;
        }

        return FALSE;
    }
   
    // 添加项目进度
    public function add_progress($content, $writetime, $proid)
    {
        $data = array(
            'pid' => $proid,
            'content' => $content,
            'writetime' => $writetime
        );

        $this->db->insert('progress', $data);

        if ($this->db->affected_rows() > 0)
        {
             return TRUE;
        }

        return FALSE;
    }

    // 获取某项目的进度总数
    public function progress_count($pid)
    {
        $query = $this->db->get_where('progress', array('pid'=>$pid));
        return $query->num_rows();
    }

    // 获取某项目的进度集合
    public function get_all_progress($limit, $page, $pid)
    {
        $this->db->where('pid', $pid);
        $this->db->order_by('id', 'desc');
        $query = $this->db->get("progress", $limit, ($page-1)*$limit);
        
        if ($query->num_rows() > 0)
        {
            return $query->result_array();
        }

        return array();
    }

    // 获取单个进度
    public function get_progress($progressid)
    {
        $query = $this->db->get_where('progress', array('id'=>$progressid));
        return $query->row_array();
    }

    // 编辑进度
    public function edit_progress($content, $writetime, $progressid)
    {
        $data = array(
            'content'=>$content,
            'writetime'=>$writetime
        );

        $this->db->where('id', $progressid);
        $this->db->update('progress', $data);

        return TRUE;
    }

    // 删除进度
    public function del_progress($progressid)
    {
        $this->db->delete('progress', array('id'=>$progressid));

        if ($this->db->affected_rows() > 0)
        {
             return TRUE;
        }

        return FALSE;
    }

    

}